package com.arm.tools.result;


public enum ReturnCode {

    SUCCESS("成功", 1),
    FAIL("失败", 0),
    SYSTEM_ERRO("系统错误", 500),
    /**
     * tonken 相关错误
     */
    TOKEN_IS_INEXISTENCE("token不存在", 101),
    TOKEN_IS_INVALID("token无效", 102),
    TOKEN_IS_CREATE_FAIL("token生成失败", 103),
    VERIFY_FAIL("验证失败", 104),
    LOGIN_EXPIRE ("登录已经过期", 105),
    NO_ACCESS_RIGHTS ("没有权限", 106),

    NET_ERRO("Http 调用失败！", 110),
    DATA_ERRO("数据错误！", 111),
    USER_ACCOUNT_UNVALID ("用户账户无效！", 11),
    USER_ACCOUNT_BALANCE_INSUFFICIENT  ("用户账户余额不足！", 111),
    SMS_SEND_FAIL  ("短信发送失败！", 111),
    SMS_CODE_IS_NULL  ("短信验证码为空！", 111),
    SMS_CODE_IS_ERRO  ("短信验证码错误！", 111),
    /**
     * user相关错误
     */
    USER_IS_INEXISTENCE("用户不存在", 301),
    USER_IS_NOT_LOGIN("用户未登陆", 302),
    USER_PHONE_IS_NULL("用户手机号为空", 303),


    /*业务相关*/
    DEVIC_ID_IS_NULL("devicId为空", 401),
    MEDIA_ID_IS_NULL("媒体Id为空", 402),
    MEDIA_CONTENT_IS_NULL("媒体内容为空", 403),
    SCHEDULE_IS_INEXISTENCE("日程不存在", 404),
    CERTIFICATE_BATCH_IS_INEXISTENCE("卡券批次不存在", 405),
    CERTIFICATE_IS_INEXISTENCE("卡券不存在", 406),
    CERTIFICATECLASSIFY_IS_INEXISTENCE("卡券分类不存在", 407),
    PRODUCT_ENTITY_IS_INEXISTENCE("产品不存在", 408),


    NORMAL("正常", 0),
    FAILED("失败", -1),
    EXCEPTION("系统异常", -2),
    SESSION_INVALID("session失效", -100),

    INVALID_REQUEST("非法请求", 2),
    REQ_MORE("请求太频繁", 3),

    VERSION_NORMAL("标准版本", 11),
    VERSION_HIGH("建议更新", 12),
    VERSION_MUST("强制更新版本", 13),
    VERSION_ERROR("错误的版本号", 14),

    ERROR_PWD("密码错误", 17),
    ERROR_LOGINNAMEPWD("用户名或密码错误", 18),
    INVALID_session("时间过长，请重新登录", 19),
    INVALID_loginName("登录名重复", 21),

    USER_STATUS_ERROR("您的账号异常", 25),
    CODE_MOREOVER_TIMES("验证码超出次数", 26),
    ERROR_CODE("验证码错误", 27),
    USER_NOEXISTS("用户不存在", 102),
    PRICING_ERROR_PARAM("提交数据错误", 200),
    PRICING_NO_RULE("没有权限", 201),

    LINE_PASSWORD_ERROR("您输入的账号密码有误！", 401);
    /**
     * 线下激活流程 End zsg
     **/
    private String msg;
    private int code;

    ReturnCode(String msg, int code) {
        this.msg = msg;
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public int getCode() {
        return code;
    }

    public ReturnCode setCode(int code) {
        this.code = code;
        return this;
    }

}
